VBA 排序之sort 您所在的位置:网站首页 vba 排序sort扩展到其它区域 VBA 排序之sort

VBA 排序之sort

2023-06-07 14:38| 来源: 网络整理| 查看: 265

在日常VBA中,自带的sort函数可以定义三个排序字段(key值)

 

 举例代码如下:

Sub test() With Worksheets("SUMMARY OF DEPOT INVENTORY").Range("c10:o245") .Sort key2:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("d10"), _ key3:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("e10"), _ key1:=Worksheets("SUMMARY OF DEPOT INVENTORY").Range("k10"), _ order1:=xlAscending, _ order2:=xlAscending, _ order3:=xlAscending, _ Header:=xlYes End With End Sub

  但是遇到要多条件排序的话,排序字段超出3个就比较麻烦了,需要多次排序,

  不过sort函数换一种写法,用里面自定义排序,可以添加多个排序的字段

Sub test3() With ActiveWorkbook.Worksheets("SUMMARY OF DEPOT INVENTORY") .Sort.SortFields.Clear '清空自定义排序的规则 '增加4个key值 .Sort.SortFields.Add Key:=.Range("K10"), SortOn:=xlSortOnValues, Order:=xlAscending .Sort.SortFields.Add Key:=.Range("d10"), SortOn:=xlSortOnValues, Order:=xlAscending .Sort.SortFields.Add Key:=.Range("e10"), SortOn:=xlSortOnValues, Order:=xlAscending .Sort.SortFields.Add Key:=.Range("n10"), SortOn:=xlSortOnValues, Order:=xlAscending '设置表格排序内容的范围 .Sort.SetRange Range("a10:n245") '表头是否包含 .Sort.Header = xlYes '执行 .Sort.Apply End With End Sub

 

 

知乎找来的一张关于每个方法对应的内容

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有